home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1997 September / Macworld (1997-09).dmg / Serious Software / Cherwell Scientific Demos / pro Fit / pro Fit 5.0 demo (fpu).sea / pro Fit 5.0 demo (fpu) / Examples / Programming - intro / ChiSquared next >
Text File  |  1996-03-30  |  1KB  |  40 lines

  1. { A simple example program for calculating the sum of the squared differences }
  2. { of two columns in a data window. It shows how to use the Input command }
  3. { to bring up pop-up menus and checkboxes. }
  4. { To use the program, choose "Add to Menu" from the Misc menu to compile it }
  5. { Then open a data window (if none is open). Then run the program by choosing "Chi_squared" }
  6. { from the misc menu. }
  7.  
  8. program Chi_squared;
  9.  
  10. var i, count:integer;    { our global variables }
  11.             num:extended;
  12.             y1c,y2c:integer;
  13.             norm:boolean;
  14.             
  15. procedure initialize;
  16. { this procedure is called once, when the program is compiled. Use it for setting default values }
  17. begin
  18.     y1c:=1;y2c:=2;norm:=0;
  19. end;
  20.  
  21. begin
  22.   Input('$Cy1 Column',y1c,'$Cy2 Column',y2c,'$XDivide result by number of points',norm);
  23.   { $C tells Input to show a popup with all columns, $X a checkbox }
  24.   num := 0;
  25.   count := 0;
  26.   for i:=1 to NrRows do
  27.   begin
  28.         if DataOK(i,y1c) and DataOK(i,y2c) then   { if data in both columns }
  29.         begin
  30.                 num := num+sqr(data[i,y1c] - data[i,y2c]);
  31.                 count := count+1;
  32.         end;
  33.     end;
  34.   if norm then begin
  35.     writeln('#points = ',count);
  36.     writeln('Chi-squared divided by #points = ',num/count)
  37.   end else
  38.     writeln('Chi-squared = ',num)
  39. end;
  40.